package com.lineage.william;

import com.lineage.DatabaseFactory;
import com.lineage.Server;
import com.lineage.server.datatables.sql.CharItemsTable;
import com.lineage.server.model.Instance.L1ItemInstance;
import com.lineage.server.model.Instance.L1PcInstance;
import com.lineage.server.serverpackets.S_SystemMessage;
import com.lineage.server.serverpackets.ServerBasePacket;
import com.lineage.server.utils.SQLUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Random;

public class drop_type_armor_item1 {
  private static ArrayList<ArrayList<Object>> aData = new ArrayList<>();
  
  private static boolean BUILD_DATA = false;
  
  private static Random _random = new Random();
  
  public static final String TOKEN = ",";
  
  public static void main(String[] a) {
    try {
      while (true)
        Server.main(null); 
    } catch (Exception exception) {
      return;
    } 
  }
  
  public static void forIntensifyArmor(L1PcInstance pc, L1ItemInstance item) {
    ArrayList<Object> aTempData = null;
    boolean isStop = false;
    boolean isStop2 = false;
    int ran = _random.nextInt(25) + 1;
    if (!BUILD_DATA) {
      BUILD_DATA = true;
      getData();
    } 
    int i = 0;
    while (i < aData.size()) {
      aTempData = aData.get(i);
      switch (ran) {
        case 1:
          if (((Integer)aTempData.get(0)).intValue() != 1)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(1);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 2:
          if (((Integer)aTempData.get(0)).intValue() != 2)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(2);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 3:
          if (((Integer)aTempData.get(0)).intValue() != 3)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(3);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 4:
          if (((Integer)aTempData.get(0)).intValue() != 4)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(4);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 5:
          if (((Integer)aTempData.get(0)).intValue() != 5)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(5);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 6:
          if (((Integer)aTempData.get(0)).intValue() != 6)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(6);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 7:
          if (((Integer)aTempData.get(0)).intValue() != 7)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(7);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 8:
          if (((Integer)aTempData.get(0)).intValue() != 8)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(8);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 9:
          if (((Integer)aTempData.get(0)).intValue() != 9)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(9);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 10:
          if (((Integer)aTempData.get(0)).intValue() != 10)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(10);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 11:
          if (((Integer)aTempData.get(0)).intValue() != 11)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(11);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 12:
          if (((Integer)aTempData.get(0)).intValue() != 12)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(12);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 13:
          if (((Integer)aTempData.get(0)).intValue() != 13)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(13);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 14:
          if (((Integer)aTempData.get(0)).intValue() != 14)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(14);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 15:
          if (((Integer)aTempData.get(0)).intValue() != 15)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(15);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 16:
          if (((Integer)aTempData.get(0)).intValue() != 16)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(16);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 17:
          if (((Integer)aTempData.get(0)).intValue() != 17)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(17);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 18:
          if (((Integer)aTempData.get(0)).intValue() != 18)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(18);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 19:
          if (((Integer)aTempData.get(0)).intValue() != 19)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(19);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 20:
          if (((Integer)aTempData.get(0)).intValue() != 20)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(20);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 21:
          if (((Integer)aTempData.get(0)).intValue() != 21)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(21);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 22:
          if (((Integer)aTempData.get(0)).intValue() != 22)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(22);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 23:
          if (((Integer)aTempData.get(0)).intValue() != 23)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(23);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 24:
          if (((Integer)aTempData.get(0)).intValue() != 24)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(24);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
        case 25:
          if (((Integer)aTempData.get(0)).intValue() != 25)
            break; 
          if (_random.nextInt(100) + 1 <= ((Integer)aTempData.get(1)).intValue()) {
            pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(1)));
            item.setItemArmorType(25);
            CharItemsTable cit = new CharItemsTable();
            try {
              cit.updateItemArmorType(item);
            } catch (Exception e) {
              e.printStackTrace();
            } 
            isStop = true;
            break;
          } 
          isStop2 = true;
          break;
      } 
      if (isStop2) {
        isStop2 = false;
        pc.sendPackets((ServerBasePacket)new S_SystemMessage(L1WilliamSystemMessage.ShowMessage(2)));
        CharItemsTable cit = new CharItemsTable();
        try {
          cit.updateItemAttack(item);
          cit.updateItemHit(item);
          cit.updateItemSp(item);
          cit.updateItemStr(item);
          cit.updateItemDex(item);
          cit.updateItemInt(item);
          cit.updateItemCon(item);
          cit.updateItemWis(item);
          cit.updateItemCha(item);
          cit.updateItemHp(item);
          cit.updateItemMp(item);
          cit.updateItemMr(item);
          cit.updateItemReductionDmg(item);
          cit.updateItemHpr(item);
          cit.updateItemMpr(item);
          cit.updateItemhppotion(item);
          cit.updateItemArmorType(item);
        } catch (Exception e) {
          e.printStackTrace();
        } 
        return;
      } 
      if (isStop && 
        item.getItemArmorType() == ((Integer)aTempData.get(0)).intValue()) {
        isStop = false;
        if (((Integer)aTempData.get(2)).intValue() > 0)
          item.setItemAttack(item.getItemAttack() + ((Integer)aTempData.get(2)).intValue()); 
        if (((Integer)aTempData.get(3)).intValue() > 0)
          item.setItemHit(item.getItemHit() + ((Integer)aTempData.get(3)).intValue()); 
        if (((Integer)aTempData.get(4)).intValue() > 0)
          item.setItemSp(item.getItemSp() + ((Integer)aTempData.get(4)).intValue()); 
        if (((Integer)aTempData.get(5)).intValue() > 0)
          item.setItemStr(item.getItemStr() + ((Integer)aTempData.get(5)).intValue()); 
        if (((Integer)aTempData.get(6)).intValue() > 0)
          item.setItemDex(item.getItemDex() + ((Integer)aTempData.get(6)).intValue()); 
        if (((Integer)aTempData.get(7)).intValue() > 0)
          item.setItemInt(item.getItemInt() + ((Integer)aTempData.get(7)).intValue()); 
        if (((Integer)aTempData.get(8)).intValue() > 0)
          item.setItemCon(item.getItemCon() + ((Integer)aTempData.get(8)).intValue()); 
        if (((Integer)aTempData.get(9)).intValue() > 0)
          item.setItemWis(item.getItemWis() + ((Integer)aTempData.get(9)).intValue()); 
        if (((Integer)aTempData.get(10)).intValue() > 0)
          item.setItemCha(item.getItemCha() + ((Integer)aTempData.get(10)).intValue()); 
        if (((Integer)aTempData.get(11)).intValue() > 0)
          item.setItemHp(item.getItemHp() + ((Integer)aTempData.get(11)).intValue()); 
        if (((Integer)aTempData.get(12)).intValue() > 0)
          item.setItemMp(item.getItemMp() + ((Integer)aTempData.get(12)).intValue()); 
        if (((Integer)aTempData.get(13)).intValue() > 0)
          item.setItemMr(item.getItemMr() + ((Integer)aTempData.get(13)).intValue()); 
        if (((Integer)aTempData.get(14)).intValue() > 0)
          item.setItemReductionDmg(
              item.getItemReductionDmg() + ((Integer)aTempData.get(14)).intValue()); 
        if (((Integer)aTempData.get(15)).intValue() > 0)
          item.setItemHpr(item.getItemHpr() + ((Integer)aTempData.get(15)).intValue()); 
        if (((Integer)aTempData.get(16)).intValue() > 0)
          item.setItemMpr(item.getItemMpr() + ((Integer)aTempData.get(16)).intValue()); 
        if (((Integer)aTempData.get(17)).intValue() > 0)
          item.setItemhppotion(item.getItemhppotion() + ((Integer)aTempData.get(17)).intValue()); 
        CharItemsTable cit = new CharItemsTable();
        try {
          cit.updateItemAttack(item);
          cit.updateItemHit(item);
          cit.updateItemSp(item);
          cit.updateItemStr(item);
          cit.updateItemDex(item);
          cit.updateItemInt(item);
          cit.updateItemCon(item);
          cit.updateItemWis(item);
          cit.updateItemCha(item);
          cit.updateItemHp(item);
          cit.updateItemMp(item);
          cit.updateItemMr(item);
          cit.updateItemReductionDmg(item);
          cit.updateItemHpr(item);
          cit.updateItemMpr(item);
          cit.updateItemhppotion(item);
          cit.updateItemArmorType(item);
          cit.updateItemHpr(item);
          cit.updateItemMpr(item);
          cit.updateItemhppotion(item);
        } catch (Exception e) {
          e.printStackTrace();
        } 
        return;
      } 
      i++;
    } 
  }
  
  private static void getData() {
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
      conn = DatabaseFactory.get().getConnection();
      pstmt = conn.prepareStatement("SELECT * FROM w_随机能力炫色防具");
      rs = pstmt.executeQuery();
      ArrayList<Object> aReturn = null;
      if (rs != null)
        while (rs.next()) {
          aReturn = new ArrayList();
          aReturn.add(0, new Integer(rs.getInt("check_type")));
          aReturn.add(1, new Integer(rs.getInt("ran")));
          aReturn.add(2, new Integer(rs.getInt("Attack")));
          aReturn.add(3, new Integer(rs.getInt("Hit")));
          aReturn.add(4, new Integer(rs.getInt("Sp")));
          aReturn.add(5, new Integer(rs.getInt("Str")));
          aReturn.add(6, new Integer(rs.getInt("Dex")));
          aReturn.add(7, new Integer(rs.getInt("Int")));
          aReturn.add(8, new Integer(rs.getInt("Con")));
          aReturn.add(9, new Integer(rs.getInt("Wis")));
          aReturn.add(10, new Integer(rs.getInt("Cha")));
          aReturn.add(11, new Integer(rs.getInt("Hp")));
          aReturn.add(12, new Integer(rs.getInt("Mp")));
          aReturn.add(13, new Integer(rs.getInt("Mr")));
          aReturn.add(14, new Integer(rs.getInt("ReductionDmg")));
          aReturn.add(15, new Integer(rs.getInt("Hpr")));
          aReturn.add(16, new Integer(rs.getInt("Mpr")));
          aReturn.add(17, new Integer(rs.getInt("hppotion")));
          aData.add(aReturn);
        }  
    } catch (SQLException sQLException) {
    
    } finally {
      SQLUtil.close(rs);
      SQLUtil.close(pstmt);
      SQLUtil.close(conn);
    } 
  }
}
